Miêu tả Luật_Amdahl

Luật Amdahl là một mô hình của mối quan hệ giữa sự tăng tốc mong đợi của việc triển khai song song của một thuật toán với phần tuần tự của thuật toán, với giả thiết rằng kích thước của bài toán không đổi khi tính toán song song. Ví dụ với kích thước bài toán cho trước phần thực hiện song song của thuật toán là 12%, có thể thực thi với tốc độ tuỳ ý, trong khi 88% còn lại không thể thực hiện song song, luật Amdahl cho biết rằng tốc độ tối đa của việc tính toán song song với thuật toán này chỉ nhanh hơn 1/(1 - 0,12) = 1,136 lần so với khi không có tính toán song song.

Chi tiết hơn, luật liên quan tới vấn đề tăng tốc có thể đạt được khi việc cải thiện một sự tính toán có thành phần cải thiện được là P và tăng tốc được S. Ví dụ nếu có thể cải thiện 30% sự tính toán thì P là 0,3; sự cải thiện này làm phần bị tác động tăng tốc gấp đôi thì S là 2. Luật Amdahl chỉ ra rằng tổng giá trị tăng tốc với sự cải thiện sẽ là

1 ( 1 − P ) + P S {\displaystyle {\frac {1}{(1-P)+{\frac {P}{S}}}}} .

Để thấy rõ hơn công thức này, giả sử rằng thời gian chạy của tính toán ban đầu là 1 đơn vị thời gian. Thời gian chạy của tính toán cải thiện là tổng thời gian của phần không cải thiện được (bằng 1 − P) với phần thời gian đã cải thiện. Thời gian của phần cải thiện bằng thời gian trước chia cho tốc độ cải thiện được, bằng P/S. Như vậy tốc độ cải thiện sau cùng được tính bằng thời gian chạy cũ chia cho thời gian mới, ra được công thức trên.

Xét thêm một ví dụ khác: có một công việc có thể chia thành 4 phần với tỉ lệ phần trăm như sau: P1 = 11%, P2 = 18%, P3 = 23%, P4 = 48% (tổng là 100%). P1 không thể tăng tốc tính toán, do vậy S1 = 1 hay 100%, P2 có thể tăng tốc lên 5 lần, do đó S2 = 500%, P3 có thể tăng tốc lên 20 lần, vậy S3 = 2000% và P4 tăng tốc được 1,6 lần, có S4 = 160%. Sử dụng công thứcP1/S1 + P2/S2 + P3/S3 + P4/S4,ta thu được thời gian chạy là

0,11/1 + 0,18/5 + 0,23/20 + 0,48/1.6 = 0.4575

hay giảm được hơn một nửa thời gian ban đầu nếu giả sử ban đầu là 1. Vậy cả công việc có thể tăng tốc lên 1/0,4575 = 2,186 lần (hay hơn 2 lần) nhờ sử dụng công thức tính toán(P1/S1 + P2/S2 + P3/S3 + P4/S4)−1.Chú ý rằng việc tăng tốc những phần việc lên 20 lần và 5 lần không ảnh hưởng nhiều đến toàn bộ công việc vì gần một nửa phần việc chỉ có thể tăng tốc 1,6 lần.

Tài liệu tham khảo

WikiPedia: Luật_Amdahl http://www.cilk.com/multicore-blog/bid/5365/What-t... http://www.julianbrowne.com/article/viewer/amdahls... http://demonstrations.wolfram.com/AmdahlsLaw/ http://www-inst.eecs.berkeley.edu/~n252/paper/Amda... http://www.cis.temple.edu/~shi/docs/amdahl/amdahl.... http://www.cbi.umn.edu/oh/display.phtml?id=59 http://www.cs.wisc.edu/multifacet/amdahl/ http://www.scl.ameslab.gov/Publications/Gus/Amdahl... http://portal.acm.org/citation.cfm?id=327215 https://web.archive.org/web/20020612065758/http://...